Vendors typically provide platforms which enable their applications to run on their platforms in a seamless, efficient, and secure manner. That is, a platform provided by a vendor is substantially optimized to support applications that are also provided by the vendor.
While it is possible for an application from a third party to be modified to run on a platform provided by a particular vendor, such a third party application may not generally run on the platform provided by the particular vendor in a seamless and scalable manner. Typically, in order for a third party application to run on a platform provided by a different vendor, the third party application may be modified, a virtualized environment may be used, or a solution based on network address translation (NAT) may be used. Modifying a third party application, using a virtualized environment, and/or using a NAT-based solution is often inefficient and restrictive.